import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

public class DAY0416 {
    public int secondMax(int[] nums) {
        // write your code here
        Arrays.sort(nums);
        return nums[nums.length-2];
    }
    public void moveZeroes(int[] nums) {
        // write your code here
        int r=0,l=0;
        while (r<nums.length){
            if(nums[r]!=0){
                nums[l]=nums[r];
                l++;
            }
            r++;
        }
        while (l< nums.length){
            nums[l]=0;
            l++;
        }
    }

    public int findRepeatNumber(int[] nums) {
        Set<Integer>set=new HashSet<>();
        int r=-1;
        for(int i:nums){
            if(!set.add(i)){
                r=i;
                break;
            }
        }
        return r;
    }
    //暴力求解法
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
            return false;
        }
        int row = 0; // 行指针
        int col = matrix[0].length - 1; // 列指针
        while (row < matrix.length && col >= 0) {
            if (matrix[row][col] == target) { // 找到目标值
                return true;
            } else if (matrix[row][col] < target) { // 如果右上角元素小于目标值，则搜索该元素所在列
                row++;
            } else { // 如果右上角元素大于目标值，则搜索该元素所在行
                col--;
            }
        }
        return false; // 没有找到目标值
    }
}
